#ifndef IO_H_
#define IO_H_
#include "ppm.h"

/*
 * Procedimento para leitura do arquivo de entrada
 * Parâmetro 1 = Estrutura Imagem.
 * Parâmetro 2 = Vetor de caracteres (nome do arquivo de entrada).
 */
void LeEntrada(Imagem *imagem, char *entrada);

/*
 * Procedimento para alocar o valor do canal de cor, nos respectivo pixel da matriz
 * Parâmetro 1 = Estrutura Imagem.
 * Parâmetro 2 = Valor intensidade do canal de cor especificado de cada pixel
 * Parâmetro 3 = Canal de cor: 0 para red, 1 para green e 2 para blue
 * Parâmetro 4 = Posição da linha na matriz
 * Parâmetro 5 = Posição da coluna na matriz
 */
void AlocarValorCor(Imagem *imagem, int intensidade, int cor, int linha, int coluna);

void SeamCarving(Imagem *original, char *estrategia, char *comando, int quantidadeParaRetirar);
void ApagaImagem(Imagem *imagem);
void ApagaMatrizPixel(Pixel **pixels, int numLinhas, int numColunas);
void CopiaImagem(Imagem *original, Imagem *nova);


void Imprimir(Imagem *imagem);
void ImprimirArquivo(Imagem *imagem);
void ImprimeMatrizInt(int **imagem, int tamanhoLinha, int tamanhoColuna);
void ImprimeMatrizEnergia(Imagem *imagem, int tamanhoLinha, int tamanhoColuna);
double **AlocaMatrizDouble(int L, int C);
int **AlocaMatrizInt(int L, int C);




#endif /* IO_H_ */
